/*
 *@Author: 张楚
 *@Date: 2021-08-11 14:32:12
 *@Description: scrollerBar
*/
import 'package:flutter/material.dart';

class ScrollerBarPage extends StatefulWidget {
  const ScrollerBarPage({Key key}) : super(key: key);
  @override
  _ScrollerBarPageState createState() => _ScrollerBarPageState();
}

class _ScrollerBarPageState extends State<ScrollerBarPage> {
  final _controller = ScrollController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('scrollerBar'),
      ),
      body: RefreshIndicator(
        onRefresh: () async {
          await Future.delayed(Duration(seconds: 4));
          print('已完成');
        },
        child: Scrollbar(
          //一样的controller确保，两个人可以互通款曲
          //超过一个scrolbar的时候，才传controller
          controller: _controller,

          isAlwaysShown: true, //滚动条一直在

          child: NotificationListener(
            onNotification: (ScrollNotification _e) {
              print('这是获取到什么呢$_e');
              return false;
              //ture 事情被你处理完了之后，不需要往上冒泡了
              //false 事情没有处理完，还可以接着冒泡，可以执行 更多的操作
            },
            child: ListView.builder(
                itemCount: 200, //一定要限制长度，不然滚动条就没有用了。
                controller: _controller,
                itemBuilder: (_, index) {
                  return Container(
                    color: Colors.blue[index % 9 * 100],
                    height: 50,
                  );
                }),
          ),
        ),
      ),
    );
  }
}
